import pandas as pd
import numpy as np
import torch
from torch import nn
# import torch.optim as optim
# import torch.nn.functional as F
from sklearn.preprocessing import StandardScaler
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score, f1_score, precision_score, recall_score
from nlpx.model import RNNAttention, TextCNN
# from nlpx.model.classifier import TextCNNClassifier
# from nlpx.model.wrapper import SplitRegressModelWrapper

target_col = 'CH'
file_path = '/Users/summy/Downloads/ICESat0308_noCNN_sample_merged_data.csv'

# class Model(nn.Module):
#     def __init__(self, embed_dim: int, out_features: int=1):
#         super().__init__()
#         self.unflatten = nn.Unflatten(1, (-1, embed_dim))
#         self.model = TextCNN(embed_dim=embed_dim, out_features=out_features)

#     def forward(self, x):
#         x = self.unflatten(x)
#         return self.model(x)

if __name__ == '__main__':
    df = pd.read_csv(file_path)
    X = df.drop(columns=[target_col]).to_numpy()
    y = df[target_col].to_numpy()
    scaler = StandardScaler()
    X = scaler.fit_transform(X)

    print(X.shape)
  
